<?php
// +----------------------------------------------------------------------
// | mxAdmin
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
declare (strict_types = 1);

namespace app\mxadmin;

use think\facade\Config;

class ConService
{

    /**
     * 构造方法
     * @access public
     * @param  App  $app  应用对象
     */
    public function __construct()
    {
        $config=Config::get('database');
        
        $cfg=$this->databaseConfig();
        //$config['connections']['main']=$cfg;
        $config['connections']['mysql']=$cfg;

        Config::set($config,'database');
        $config=Config::get('database');
        // 初始化
        $this->initialize();
    }

    // 初始化
    protected function initialize()
    {}

    protected function databaseConfig(){
        return [
            // 数据库类型
            'type'              => 'mysql',
            // 服务器地址
            'hostname'          => '127.0.0.1',
            // 数据库名
            'database'          => 'mxdx',
            // 用户名
            'username'          =>  'root',
            // 密码
            'password'          =>  'root',
            // 端口
            'hostport'          => '3306',
            // 数据库连接参数
            'params'            => [],
            // 数据库编码默认采用utf8
            'charset'           => 'utf8mb4',
            // 数据库表前缀
            'prefix'            => '',

            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
            'deploy'            => 0,
            // 数据库读写是否分离 主从式有效
            'rw_separate'       => false,
            // 读写分离后 主服务器数量
            'master_num'        => 1,
            // 指定从服务器序号
            'slave_no'          => '',
            // 是否严格检查字段是否存在
            'fields_strict'     => true,
            // 是否需要断线重连
            'break_reconnect'   => false,
            // 监听SQL
            'trigger_sql'       => true,
            // 开启字段缓存
            'fields_cache'      => false,
            // 字段缓存路径
            'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
        ];
       
    }
}
